package simple.string;

/**
 * <a href="https://leetcode-cn.com/problems/length-of-last-word">58. 最后一个单词的长度</a>
 * 给你一个字符串 s，由若干单词组成，单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词，请返回 0 。
 * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
 * 示例 1：
 *   输入：s = "Hello World"
 *   输出：5
 * 示例 2：
 *   输入：s = " "
 *   输出：0
 * 提示：
 *   1 <= s.length <= 104
 *   s 仅有英文字母和空格 ' ' 组成
 * @author 刘学松
 * @date 2021-06-28 14:11
 */
public class 最后一个单词的长度 {
    public int lengthOfLastWord(String s) {
        int lastIndex = s.lastIndexOf(' ');
        int length = s.length() - lastIndex - 1;
        if (length == 0) {
            while (lastIndex > 0 && s.charAt(--lastIndex) == ' ') {
            }
            ++lastIndex;
            while (lastIndex > 0 && s.charAt(--lastIndex) != ' ') {
                length++;
            }
        }
        return length;
    }
}
